<!DOCTYPE html>
<html>
<head>
    <title><%=title%></title>

</head>

<body>
<h1><%=title%></h1>
<p>
    1、在浏览器Javascript中，window是全局对象；Node.js中，全局对象时global。console，process等都是global的属性。
    2、process是一个全局变量，即global对象的属性，描述当前Node.js进程状态的对象，提供了一个与操作系统的简单接口。
    process.argv是命令行参数数组，日一个元素是node，第二个是脚本文件名，从第三个元素开始每个元素是一个运行参数。
    process.stdout标准输出流，console.log()向标准输出打印字符，而process.stdout.write()函数提供了更底层的接口。
    process.stdin是标准输入流，初始时被暂停，要想从标准输入读取数据，你必须恢复流，并手动编写流的事件响应函数。
    process.nextTick(callback)为事件循环设置一项任务，Node.js会在下次事件循环响应时调用callback。
    3、util.inherits(Sub, Base);//一个实现对象间原型继承的函数
    util.inspect(person );将任意对象转换成字符串的方法。
    4、events模块只提供一个对象：events.EventEmitter。
    EventEmitter.on(event, listener); EventEmitter.emit(event, [arg1], [..])
    EventEmitter.once(event, listener) EventEmitter.removeListener(event, listener) EventEmitter.removeAllListeners([event]);
    5、fs.readFile  js.readFileSync fs.open fs.read();//比fs.readFile提供更底层的接口
    6、http.Server是一个基于事件的HTTP服务器，它的核心由Node.js下层C++部分实现。接口由Javascript封装。
    提供以下几个事件：request,connection,close
    http.ServerRequest是HTTP请求信息，三个事件：data,end,close. 简称request或req。
    7、获取GET请求内容。由于GET请求直接嵌入到路径中，URL是完整的请求路径，包括？后面部分。因此可以手动解析后面的内容作为GET请求的参数。res.end(util.inspect(url.parse(req.url,true)));
    获取POST请求内容：Node.js默认不会解析请求体的，需要的时候，手动解析。
    var post = '';   req.on('data', function(chunk) {post += chunk;});  post = querystring.parse(post);
    8、http.ServerResponse三个重要成员函数：response.writeHead(statusCode,[headers]);
    response.write(data,[encoding]) response.end([data], [encoding]);
    8、HTTP客服端。http.request, http.get 是http模块提供的作为客服端向HTTP服务器发起请求。
    http.ClientRequest 是由http.request或http.get返回产生的对象，表示一个已经产生而且正在进行中的HTTP请求。
    http.ClientRequset像http.ServerResponse一样提供了write和end函数，用于想服务器发送请求体，结束一定要用end。
    http.ClientResponse与http.ServerRequest相似，提供data,end,close三个事件。
</p>
 <a  href="/report">发表新文章</a>&nbsp;&nbsp;&nbsp;<a href="/index">主页</a>
</body>
</html>